package main

import "fmt"

var (
	n11 = 100
	n12 = 200
	name3 = "jack"
)

func main() {
	// golang 变量使用方式1
	// 第一种：指定变量类型，声明后若不赋值，使用默认值
	var i int
	fmt.Println("i=", i)

	// 第二种：根据值自行判定变量类型(类型推导)
	var num = 10.11 
	fmt.Println("num=", num)

	// 第三种：省略var。注意 := 左侧的变量不应该是已经声明过的，否则会导致编译错误
	name := "tom"
	fmt.Println(name)

	// 多变量声明
	var n1, n2, n3 int
	fmt.Println("n1=", n1, ",n2=", n2, ",n3=", n3)

	// 多变量不同类型的声明
	var n4, n5, n6 = 400,  100, "tom"
  	fmt.Println("n4=", n4, ",n5=", n5, ",n6=", n6)

	// 多变量声明时类型推导
	n1, name, n10 := 100, "tom!", 888
	fmt.Println("n1=", n1, "name=", name, "n10=", n10)

	// 一次性声明多个全局变量
	fmt.Println("n11=", n11, ",n12=", n12, ",name3=", name3)

}